Shared Memory von Linux erhöhen
Um den Shared Memory von Anwendungen wie beispielsweise PostgreSQL zu erhöhen muss auch das Betriebsystem mitspielen. Denn nur wenn dieses erlaubt einen entsprechend großen Speicherbereich als Shared Memory zu reservieren, kann dies auch in PostgreSQL eingestellt werden.
Ein einfacher Weg dies zu tuen ist über eine Konfigurationsdatei namens sysctl.conf, die Datei befindet sich normalerweise unter /etc. Entsprechend kann man mit:
vi /etc/sysctl.conf
die Datei editieren. Folgende Zeilen müssen jetzt nur noch eingefügt werden:
kernel.shmall = 134217728
kernel.shmmax = 134217728
Dieses Beispiel erlaubt es in PostgreSQL 128MB Shared Memory einzustellen. Die Einstellung kernel.shmall stellt den gesmaten Shared Memory den Linux allen Anwendungen zur Verfügung stellt auf 128MB. Sollten andere Anwendungen auch Shared Memory benötigen muss dieser Wert entsprechend höher konfiguriert werden. Um die Einstellung vorab zu testen, können Sie folgende Zeile eingeben:
echo "134217728" > /proc/sys/kernel/shmmax
oder
sysctl -w kernel.shmmax=134217728
Viel spaß beim Umsetzen,
Frank Glück